package shared.units;

import shared.interfaces.DirectDrivable;
import client.appstate.PlayState;

import com.jme3.asset.AssetManager;
import com.jme3.bullet.BulletAppState;
import com.jme3.bullet.control.VehicleControl;
import com.jme3.scene.Node;

public abstract class Tank implements DirectDrivable{

	protected TankData tankdata;

	protected AssetManager assetManager;
	protected BulletAppState bulletAppState;
	protected BulletManager bulletManager;
	protected Node rootNode;
	
	protected VehicleControl control;

	protected int primaryAmmunitionCount;
	
	public Tank(PlayState appstate, TankData data)
	{
		bulletAppState = appstate.getBulletAppState();
		assetManager = appstate.getAssetManager();
		rootNode = appstate.getStateRootNode();
		bulletManager = appstate.getBulletManager();
		tankdata = data;
		
		primaryAmmunitionCount = tankdata.maxPrimaryAmmunition;
		
		this.init();
	}
	
	protected abstract void init();
	
}
